package daos

import aerolinea.Asiento
import aerolinea.Tramo
import aerolinea.TramoID
import dominio.Usuario
import excepciones.AsientoYaEstaReservado
import java.util.List
import servicios.TramoManager

class TramoDAO {
	
	def get(String ido, String idd){
		(SessionManager.getSession().get(Tramo, new TramoID(ido, idd)))as Tramo
	}

	def save(Tramo a) {
		SessionManager.getSession().saveOrUpdate(a);
	}
	
	def update(Usuario usuario, Tramo tramo, List<Asiento> asientos){
		//var asientosDisp= new TramoManager().asientosDisponibles(tramo.idTramo.origenID, tramo.idTramo.destinoID)
		//if(! asientosDisp.containsAll(asientos))
		//	new AsientoYaEstaReservado
		//var t= get(tramo.idTramo.origenID, tramo.idTramo.destinoID)
		tramo.reservarAsientos(usuario, asientos)
		SessionManager.getSession().saveOrUpdate(tramo)
		//SessionManager.getSession().createQuery("UPDATE Asiento a 
		//										SET a.reservado= true where a.idAsiento=1")//, a.usuario= '"+usuario+"' 
												//WHERE a in (:asien)").setParameterList("asien", asientos)
	}
}